package com.bwda.dsrs.systemservice.domain;

/**
 * @author yangjun
 * @date 2019/4/3
 */
public class Constants {
    public static int NOT_DELETED = 0;
    /**
     * 这个是delflag
     */
    public static int DELETED = 1;
    public static int USER_FREEZE = 1;
    public static int USER_LOCK = 3;
    public static final int USER_LEAVE = 2;
    public static final int USER_LOG_OFF = 4;
    public static int PARENTID=-401;
    public static String PROCESS_STRATEGY = "process_strategy";
    public static Long ZERO = 0L;
    public static Long FIVE = 5L;
    public static Long ONE = 1L;
    public static Integer ZERO_INT = 0;
    public static Integer ONE_INT = 1;
    public static Integer TWO_INT = 2;
    public static Integer FOUR_INT = 4;
    public static Integer FIVE_INT = 5;
    public static String ZERO_STR = "0";
    public static String ONE_STR = "1";
    public static String SUCCESS = "操作成功";
    public static String GROUP_ADMIN_CODE = "sysadmin";
    public static String ORG_ADMIN_ROLE_CODE = "sysadmin";

    /**
     * 首位
     */
    public static final String INDEX_FIRST = "first";
    /**
     * 末位
     */
    public static final String INDEX_LAST = "last";

    /**
     * 不操作
     */
    public static final String INDEX_UNDO = "undo";

    /**
     * 失败
     */
    public static final String FAIL_CODE = "fail";

    /**
     * 字典排序最大值
     */
    public static Long MAXORDERNUM = 999L;

    /**
     * 判断弱密码重复值
     */
    public static int WEAKPWDREPEAT = 0;


    /**
     * 认证头标识
     */
    public static final String TOKEN_HEADER = "Authorization";

    /**
     * 无TOKEN
     */
    public static final String TOKEN_ERROR = "202";
    public static final String OK = "ok";
    public static final Integer USER_SOURCE_SYNC = 4;

    /**
     * 无TOKEN
     */
    public static final Integer RESULT_SUCCESS = 200;

    /**
     * 认证类型
     */
    public static final String TOKEN_PREFIX = "Bearer ";
    /**
     * 认证参数
     */
    public static final String TOKEN_STRING = "access_token";
    /**
     * 管理员用户
     */
    public static final String IS_ADMIN = "sysadmin";

    /**
     * 审计管理员用户
     */
    public static final String IS_AUDITADMIN = "auditadmin";

    /**
     * 安全管理员用户
     */
    public static final String IS_SECADMIN = "secadmin";

    /**
     * 内置（默认）
     */
    public static final int IS_DEFAULT = 0;

    /**
     * 自定义
     */
    public static final int IS_NOT_DEFAULT = 1;

    /**
     * 正常
     */
    public static final int ENABLE = 0;

    /**
     * 禁用
     */
    public static final int NOT_ENABLE = 1;

    /**
     * 弱密码数据字典类型
     */
    public static final String WEAK_DICT_TYPE = "WEAK_DICT_TYPE";

    /**
     * 弱密码名称前缀
     */
    public static final String WEAK_DICT_PREFIX = "weakpwd";

    /**
     * 上传临时地址（数据字典表中固定code）
     */
    public static final String UPLOAD_TEMP_PATH = "uploadtemppath";

    public static final String SPLIT = ",";

    /**
     * 菜单根路径ID
     */
    public static final String MENU_ROOT_ID = "0";

    /**
     * 重启生效(字典表)
     */
    public interface RestartEffect {
        int FALSE = 0;
        int TRUE = 1;
    }

    /**
     * 离职状态
     */
    public static final Integer QUIT_STATUS = 2;

    /**
     * 新增
     */
    public static final Integer TYPE_ID = 1;

    /**
     * 天数
     */
    public static final int WEEK_DAYS = 7;

    /**
     * 用户分级类型
     */
    public interface UserLevelType {

        /**
         * 字段类型code
         */
        String TYPE_DICTTYPE_CODE = "userLevelType";

        /**
         * 职级
         */
        String RANK = "RANK";

        /**
         * 头衔
         */
        //String TITLE="TITLE";

    }

    /**
     * 修改类型
     */
    public interface UpdateType {

        /**
         * 需要修改(正常)
         */
        int UPDATE = 1;

        /**
         * 无需修改
         */
        int NO_UPDATE = 0;

    }

    /**
     * 状态类型
     */
    public interface StateType {

        /**
         * 启用(正常)
         */
        int ENABLE = 0;

        /**
         * 禁用
         */
        int NOT_ENABLE = 1;

    }

    /**
     * 人员组织
     */
    public interface OrgUserTree {

        /**
         * 用户(叶子节点)的固定ID
         */
        String USER_NODE_ID = "-1";

        String ORG_ADMIN_ID = "5";

    }

    /**
     * 数据范围
     */
    public interface DataScope {

        /**
         * 所有数据
         */
        int ALL_DATA = 1;

        /**
         * 所在机构及以下数据
         */
        int ORG_ALL_DATE = 2;

        /**
         * 所在机构数据
         */
        int ORG_DATA = 3;

        /**
         * 仅本人数据
         */
        int SELF_DATE = 4;

    }

    /**
     * 是否绑定
     */
    public interface LevelBind {

        String BIND = "0";

        String NOT_BIND = "1";

    }

    /**
     * 系统信息
     */
    public interface SystemInfo {
        /**
         * 系统信息字典typecode
         */
        String SYSTEM_INFO_DICT_TYPE = "systemInfo";

        /**
         * 系统标题
         */
        String SYSTEM_TITLE = "systemTitle";

        /**
         * 产品版本号
         */
        String PRODUCT_VERSION = "productVersion";

        /**
         * 发布日期
         */
        String PUBLISH_DATE = "publishDate";

        /**
         * 版权信息
         */
        String COPYRIGHT_INFO = "copyRightInfo";


        /**
         * 副标题
         */
        String SYSTEM_SUBTITLE = "systemSubtitle";

        /**
         *
         */
        String BUS_WEB = "busWeb";
        /**
         * 外接文件模式
         */
        String OUT_FILE_MODE = "out_file_mode";

    }

    public interface HideFunctions {
        /**
         * 隐藏功能
         */
        String FUNCTION_HIDE = "function_hide";
        String HIDE_DOWNLOAD = "function_hide_download";
        String HIDE_EDIT = "function_hide_edit";
        String HIDE_PREVIEW = "function_hide_preview";
        String HIDE_DOWNLOAD_CLIENT = "function_hide_downloadclient";
        String HIDE_SHARE = "function_hide_share";
        String HIDE_FLOW = "function_hide_flow";
        String VALUE_HIDE = "1";
    }

    /**
     * 任务状态
     */
    public interface TaskStatus {
        /**
         * 开启
         */
        public long ON = 0;

        /**
         * 关闭
         */
        public long OFF = 1;
    }

    /**
     * 任务执行结果
     */
    public interface TaskResult {
        /**
         * 成功
         */
        public long SUCCESS = 0;

        /**
         * 失败
         */
        public long FAILURE = 1;
    }

    /**
     * 任务执行状态
     */
    public interface TaskExeStatus {
        /**
         * 未执行
         */
        public long NOT_EXECUTE = 0;

        /**
         * 执行中
         */
        public long EXECUTING = 1;
    }
    /**
     * 稽核任务执行周期类型
     */
    public interface ResAuditCycleType {
        /**
         * 立即执行
         */
        Long CT_IMMEDIATE = 1L;

        /**
         * 定时执行
         */
        Long CT_TIMING = 2L;

        /**
         * 每天执行
         */
        Long CT_DAY = 3L;

        /**
         * 每周执行
         */
        Long CT_WEEK = 4L;

        /**
         * 每月执行
         */
        Long CT_MONTH = 5L;

        /**
         * 每季度执行
         */
        Long CT_QUARTER = 6L;

        /**
         * 周期性执行
         */
        Long CT_PERIODIC = 7L;
    }

    /**
     * 策略任务的执行类型
     */
    public interface ResAuditExecutionType {
        /**
         * 由页面触发的任务立即执行
         */
        Long ET_IMMEDIATE = 1L;

        /**
         * 由定时任务触发的定时执行
         */
        Long ET_TIMER = 2L;
    }
    public interface  ResAuditTaskExeStatus{
        /**
         * 执行中
         */
        Long TES_EXECUTING = 1L;

        /**
         * 执行完成
         */
        Long TES_EXECUTED = 2L;

        /**
         * 任务停止
         */
        Long TES_STOPPED = 3L;
    }
    /**
     * 策略任务执行结果
     */
        public interface ResAuditTaskExeResult {
        /**
         * 成功
         */
        Long ER_SUCCESS = 0L;

        /**
         * 失败
         */
        Long ER_FAILURE = 1L;

        /**
         * 执行进度为100
         */
        Long ER_FULL_PROCESS = 100L;

    }
    /**
     * 策略任务状态
     */
    public interface ResAuditTaskStatus {
        /**
         * 启用
         */
        Long TS_ON = 0L;

        /**
         * 停用
         */
        Long TS_OFF = 1L;

    }
    /**
     * 字符串是否包括空格
     */
    public static String STRING_BLANK = " ";
}
